The present invention relates to data processing and relates more particularly to the technique of microprogramming in a processor which has a central store.
Microprogramming enables a mnemonic machine code followed by a certain number of effective parameters to be substituted for a certain group of instructions in a program. Corresponding to this code is a special program termed a microprogram which carries out a specific function on data associated with the parameters and which consists of a certain number of instructions termed microinstructions. The meaning of the parameters is given by formal parameters which become apparent when the microprogram is drawn up. The parameters may be introduced in a number of ways and they generally take the form of a list of symbols separated by commas which are used in the microinstructions contained in the microprogram. A substitution is then made during operation by taking homologous symbols from the list of effective parameters.
Generally speaking, such microprograms are generated and recorded beforehand in a control store. Each microprogram corresponds to a specific type of application; for example, n types of applications will have associated with them n microprograms. Depending on the value of n and the size of each microprogram, the control store may become relatively full.
However, in certain cases, the general flowchart represented by a microprogram may be applied to a number of applications of the same type with only the content of certain microinstructions differing from one application to another.
The object of the present invention is to make it possible to have a single microprogram for a number of applications of the same type by using parametered microinstructions.
Thus, a microprogram according to the present invention may comprise a succession of microinstructions certain of which will be stored in parametered form. The parametered microinstructions are formed by combining data to form calculated microinstructions which are capable of being carried out and which differ to suit the selected application.
According to one feature of the present invention a preferred method of recording and carrying out microprograms would comprise the following steps:
RECORDING IN A READ/WRITE STORE, A GENERAL MICROPROGRAM WHICH CONTAINS AT LEAST ONE PARAMETERED MICROINSTRUCTION WRITTEN IN PARAMETERED FORM AND A DATA TABLE CONTAINING AT LEAST THE VARIOUS VALUES OF THE PARAMETERS IN THE PARAMETERED MICROINSTRUCTION,
WHEN THE PARAMETERED MICROINSTRUCTION IS ADDRESSED BY THE MICROPROGRAM BEING CARRIED OUT, CALCULATING OR CONSTRUCTING THE PARAMETERED MICROINSTRUCTION WITH VALUES OF THE PARAMETERS EXTRACTED FROM THE DATA TABLE TO FORM A CALCULATED MICROINSTRUCTION,
STORING THE CALCULATED MICROINSTRUCTION IN THE STORE, AND
CARRYING OUT THE CALCULATED MICROINSTRUCTION.
According to another feature of the invention, apparatus for recording and carrying out microprograms in a processor associated with a data-processing system would comprise:
a read/write store for storing a microprogram including microinstructions written in parametered form and for storing a data table containing the values of the parameters of the parametered microinstructions,
microinstruction address registers the outputs of which are connected to the selection circuits of the store,
and means which enable a parametered microinstruction to be calculated as a function of the corresponding values of the parameters in the data table and which enable this calculated microinstruction to be recorded at a store address that enables execution in a normal way.
One embodiment of the present invention consists of an assembly of registers and individual units; these being a main store, a control store which contains the microprograms and a control unit which controls and gives instructions for the operations which we requested. The instructions are carried out by a processing unit of the processing in question is logic or arithmetical, and by an exchange unit if the transfer of data to the outside is involved.